-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Require stable serde #100
base: main
Are you sure you want to change the base?
Require stable serde #100
Conversation
This crate is very conservative about breaking changes. More than 17000 downstream crates depend on |
For whatever it's worth unicode-bidi only has 15 public dependents listed on crates.io and none of them directly depend on serde 0.8 or 0.9. The vast majority of downloads come from only 2 crates: idna and stringprep. |
That figure was including transitive dependencies, mostly via the However, it does mean that bumping the major version of this crate is highly disruptive, and that would be technically required for a breaking change like this... |
Maybe I'm just confused here but why would this be a breaking change? The crate can already use serde 1.0, this would just ensure that. |
Most Rust crates do not consider bumps to their dependencies to affect semver, but the closer you are to the bottom of the dep graph, the more you have to care about this stuff because it is possible to break builds by forcing there to be multiple incompatible versions of a crate (which sometimes works and sometimes fails builds). |
Concretely, this would break a crate that depends on In the language of RFC 1977, serde is a “public dependency” of unicode-bidi. As discussed in that RFC, “if you bump a public dependency's version, it's a breaking change of your own crate.” |
(And I'll caveat this by mentioning that a large subset of the community does ignore the de jure concept of public-dependency semver breakages, following a de facto definition that doesn't incorporate dependency changes, however as a heavily used dependency we are more beholden to the stricter de jure definition as compared to the de facto definition) |
☔ The latest upstream changes (presumably #127) made this pull request unmergeable. Please resolve the merge conflicts. |
Serde 1.0 came out 6 years ago. Is there any issue with dropping these old versions?